const userinfo = require("../database/userinfo");
const md5 = require("md5");
const jwt = require("jsonwebtoken");

module.exports = async (req,res)=>{
  // 接收前端发送的信息
  const {tel, password} = req.query;
  // 判断是否缺少参数
  if(!(tel && password)){
    res.send({
      code:0,
      msg:"缺少必传参数：tel，password",
      data:null
    })
    return;
  }
  // 准备处理异步程序的报错
  try{
    // 根据手机号读取数据库
    const userData = await userinfo.find({ tel });
    // 判断是否读到数据
    if(userData.length < 1){
      res.send({
        code: 3,
        msg:"手机号不存在",
        data:null
      })
            // 读到数据了，判断密码是否符合
    }else if(userData[0].password === md5(password)){
      // 更新数据库中的登录时间
      await userinfo.updateOne({ tel, password: md5(password) }, {
        loginTime: Date.now()
      });
      // 生成token（记录登录状态）
      const token = jwt.sign({
        id: userData[0].userId
      }, "千锋H5", {
        expiresIn: 60 * 60
      });
      // 响应给前端
      res.send({
        code: 1,
        msg: "登录成功",
        data: token
      })
    }else{
      res.send({
        code: 4,
        msg:"密码不对",
        data:null
      })
    }
  }catch(err){
    res.send({
      code: 2,
      msg: "数据库出错",
      data: err.toString()
    })
  }
}